package com.gxwz.thread;

/**
 * 线程是进程中可执行代码流的序列，他被操作系统调度，并在处理器或者内核上运行；
 * 线程是一个独立运行的程序，有自己的运行栈。一个线程包括给定的指定序列代码(,)
 * 一个栈(在给定方法中定义变量)以及一些共享数据(类一级的变量)。或者通俗的讲线程就是程序的一条执行线索。
 * 有了线程，程序就有了多条执行线索，也就是说程序可以同事运行。
 * 
 * @author chendequan
 * @email 1527254027@qq.com
 * @datetime 2013-9-3 上午01:36:42
 * 
 */
public class TestThread {

	/**
	 * 算上main线程一共三个线程
	 * @param args
	 */
	public static void main(String[] args) {
//		启动一个线程
		new Thread() {
			@Override
			public void run() {
				while (true) {
					try {
						Thread.sleep(500);
					} catch (Exception e) {
						e.printStackTrace();
					}
					System.out.println("first thread is : "
							+ Thread.currentThread().getName());
				}
			}
		}.start();

//		//启动第二个线程
		new Thread() {
			public void run() {
				while (true) {
					try {
						Thread.sleep(500);
					} catch (Exception e) {
						e.printStackTrace();
					}
					System.out.println("second thread is "
							+ Thread.currentThread().getName());
				}
			};
		}.start();
		System.out.println("the main thread is " + Thread.currentThread().getName());
	}

}
